package com.xucy.springboot.designmodel.structural.brigeconnect;

/**
 * @Author xucy
 * @Date 2019-07-27 10:11
 * @Description 桥接模式  DriverManager 获取connection
 *    桥接模式用于分离 ,业务场景：
 *      有不同的银行（工商银行，农行。。。） ，而且还有不同的银行账户（定期，活期。。。）
 *      这样的不同类可以相互组合，形成不同的组合。
 *         我们也可以使用继承 工商银行 又分工商银行定期等
 *       但是继承不如组合，我们可以把他们进行两两组合。
 *       Bank是桥接类，具体行为实现 HQAccount 和主体类 icbcbank可以独立的扩展
 **/

public class Test {

    public static void main(String[] args) throws ClassNotFoundException {

        Account dqAccount=new DQAccount();
        Bank icbcBank=new ICBCBank(dqAccount);
        icbcBank.openAccount();

        Account dqAccount1=new DQAccount();
        Bank abcBank=new ABCBank(dqAccount1);
        abcBank.openAccount();

        Account hqAccount=new HQAccount();
        Bank abcBank1=new ABCBank(hqAccount);
        abcBank1.openAccount();

        Class.forName("com.mysql.jdbc.Driver");
    }
}
